Language dialog systems for accessing databases, that enable information to be accessed and communication applications to be controlled, are known as interfaces to computer-supported applications. Background applications, such as, for example, a telephone information system (train, flight, movie theater etc.) or a computer-supported transaction system (home banking, on-line shopping) can increasingly be operated by using language dialog systems as access systems—known as user interfaces—which, for example, may be implemented in the form of hardware, software, or a combination of the two.
The dialog sequence for generating application-specific dialog objectives is controlled in these systems via the language dialog system, which manages interactions between a dialog management unit and the user in question. Information is input and output therein via an input unit and an output unit, which are connected to the dialog management unit.
For example, a user statement generated by a user is captured via the input unit in the form of a voice signal and processed in the dialog management unit. The input unit, for example, is connected to a voice recognition unit via which action information contained in the captured user statements is determined. In order for so-called action or information prompts to be output, i.e. preferably voice-based instructions or information to the user, the output unit may comprise a voice synthesizer and a unit for converting text to speech.
Action information from the voice signal is obtained, for example, in the form of individual words or phrases, by means of the voice recognition unit provided in the dialog management unit. Said action information is analyzed by comparison with keywords or grammars loaded in a parser unit. Depending on the result of the analysis, a transaction assigned to one of the keywords is started in order to operate the allocated background application. Depending on the identified transaction, a dialog with the respective user is started via the dialog management unit in order to control the associated background application, and the transaction parameters necessary in order to execute the required background application are thereby determined.
Three main approaches are known in the prior art in order to implement a language dialog system of this type. These are the “finite-state-based”, the “frame-based” and the “agent-based” approach. The “frame-based” approach is currently the most widely used in practice. It uses a frame-based structure, which has a more flexible design, particularly by comparison with language dialog systems based on hierarchical tree structures. A transaction is modeled by means of a frame, which, for example, has a number of gaps that are filled by allocation of individual transaction parameters for the purpose of triggering the planned background application.
A background application in this context means a finite quantity of transactions wherein each transaction is assigned a finite quantity of transaction parameters. The transaction parameters are known to the language dialog system and are captured by interaction with the user via a grammar provided specifically for the individual transaction parameters. Here the user may or may not for example specify the required transaction and the assigned transaction parameters in a sentence. In the first instance the transaction can be executed immediately, and in the second instance the as yet unknown parameters still need to be captured by interaction with the user. If no transaction can be clearly determined by means of the user statement, the system automatically runs a clarification dialog in order to determine the required transaction. The same applies to unclear and incomplete user information with regard to a transaction parameter.
Each background application is assigned a dialog specification, which comprises a transaction database, a parameter database and a grammar database. Each individual background application is executed respectively by an assigned language dialog system with analysis of the dialog specification assigned in each case, i.e. in order to execute two different background applications, e.g. an “e-mail” background application and a “voice mail” background application, two dialog systems are thus required, which are called in order to trigger the irrespective background applications separately from one another with analysis of the different dialog specifications.